home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 050 / tpstuff2.arc / IBMINT10.PAS < prev    next >
Pascal/Delphi Source File  |  1984-12-02  |  2KB  |  52 lines

  1.  
  2. program IBMpcScreen;
  3.  
  4.     { This program shows the use of direct Video on the IBM-PC. }
  5.     { Interrupt 10 is used for all Video I/O                    }
  6.  
  7. const
  8.   Video                =  $10;  { Set Video I/O Interrupt }
  9.   SetVideo             =    0;  { Set Video mode }
  10.   SetCurPosition       = $200;  { Set cursor position }
  11.   ReadCursor           = $300;  { Read cursor position }
  12.   WriteChar            = $E00;  { Write character to sceen }
  13.   VideoBW80x25A        =    2;  { Mode 80x25 B/W, Alpha }
  14.   VideoColor80x25A     =    3;  { Mode 80x25 Color, Alpha }
  15.  
  16. type
  17.   Result =                      { Register pack }
  18.     record
  19.       AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags: Integer;
  20.     end;
  21.  
  22. var
  23.   Rec                  : Result;
  24.   Row,Col              : Integer;
  25.  
  26. begin
  27.   Rec.AX := SetVideo + VideoBW80x25A;              { assumes BW 80x25 display }
  28.   Rec.BX := 15;
  29.   Intr(Video,Rec);                                           { Set Video Mode }
  30.   Rec.AX := WriteChar + Ord('A');
  31.   Intr(Video,Rec);                                           { Output 'A'     }
  32.   Rec.AX := ReadCursor;
  33.   Intr(Video,Rec);                                 { Read the cursor position }
  34.   Row := Rec.DX and $FF00 shr 8;
  35.   Col := Rec.DX and $FF;
  36.   Write('Row =',Row,' Column = ',Col);              { Show the Row and column }
  37.   Rec.AX := SetCurPosition;
  38.   Rec.DX := $0A0A;
  39.   Intr(Video,Rec);                   { Set the cursor to Row 10 and column 10 }
  40.   Rec.AX := WriteChar + Ord('#');
  41.   Intr(Video,Rec);                                           { Output '#'     }
  42.   Rec.AX := ReadCursor;
  43.   Intr(Video,Rec);                                 { Read the cursor position }
  44.   Row := Rec.DX and $FF00 shr 8;
  45.   Col := Rec.DX and $FF;
  46.   Write('Row =',Row,' Column = ',Col);              { Show the Row and column }
  47.   Rec.AX := SetCurPosition;
  48.   Rec.DX := $1414;
  49.   Intr(Video,Rec);                   { Set the cursor to Row 20 and column 20 }
  50. end. { of program IBMpcScreen }
  51.  
  52.